//package com.service.fmgcode.gcode.options;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.szmirren.models.TableAttributeKeyValueTemplate;
//import javafx.collections.ObservableList;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * 自定义包类的配置文件
// *
// * @author <a href="http://szmirren.com">Mirren</a>
// *
// */
//public class CustomConfig {
//	/** 设置的tableItem */
//	private List<TableAttributeKeyValueTemplate> tableItem = new ArrayList<>();
//	/** 是否覆盖原文件 */
//	private boolean overrideFile = true;
//
//	/**
//	 * 初始化
//	 */
//	public CustomConfig() {
//		super();
//	}
//
//	/**
//	 * 初始化
//	 *
//	 * @param item
//	 */
//	public CustomConfig(ObservableList<TableAttributeKeyValueTemplate> item) {
//		super();
//		if (item != null && !item.isEmpty()) {
//			tableItem.addAll(item);
//		}
//	}
//
//	/**
//	 * 初始化
//	 *
//	 * @param item
//	 * @param templateName
//	 * @param overrideFile
//	 */
//	public CustomConfig(ObservableList<TableAttributeKeyValueTemplate> item, boolean overrideFile) {
//		super();
//		if (item != null && !item.isEmpty()) {
//			tableItem.addAll(item);
//		}
//		this.overrideFile = overrideFile;
//	}
//
//	/**
//	 * 初始化
//	 */
//	public CustomConfig(JSONObject object) {
//		super();
//		this.overrideFile = object.getBoolean("overrideFile");
//		JSONArray array = object.getJSONArray("tableItem");
//		if (array != null) {
//			array.forEach(v -> {
//				tableItem.add(new TableAttributeKeyValueTemplate((JSONObject) v));
//			});
//		}
//	}
//
//	/**
//	 * 通过JSONObject 实例化一个对象
//	 *
//	 * @param object
//	 * @return
//	 */
//	public static CustomConfig fromJson(JSONObject object) {
//		return new CustomConfig(object);
//	}
//
//	/**
//	 * 将当前对象转换为JSONObject
//	 *
//	 * @return
//	 */
//	public JSONObject toJson() {
//		JSONObject result = new JSONObject();
//		result.put("overrideFile", overrideFile);
//		JSONArray array = new JSONArray();
//		tableItem.forEach(v -> {
//			array.add(v.toJson());
//		});
//		result.put("tableItem", array);
//		return result;
//	}
//
//	/**
//	 * 初始化默认参数
//	 *
//	 * @return
//	 */
//	public CustomConfig initDefaultValue() {
//		return this;
//	}
//
//	/**
//	 * 将当期对象转换为Json字符串
//	 *
//	 * @return
//	 */
//	public String toJsonString() {
//		return toJson().toJSONString();
//	}
//
//	public List<TableAttributeKeyValueTemplate> getTableItem() {
//		return tableItem;
//	}
//
//	public void setTableItem(List<TableAttributeKeyValueTemplate> tableItem) {
//		this.tableItem = tableItem;
//	}
//
//	public boolean isOverrideFile() {
//		return overrideFile;
//	}
//
//	public void setOverrideFile(boolean overrideFile) {
//		this.overrideFile = overrideFile;
//	}
//
//	@Override
//	public String toString() {
//		return "CustomConfig [tableItem=" + tableItem + ",  overrideFile=" + overrideFile + "]";
//	}
//
//}
